#ifndef _JEU_H
#define _JEU_H

#include "Snake.h"
#include "Terrain.h"
#include "Bonus.h"

/**
 * \struct Jeu
 * \brief Structure définissant un Jeu : permettant de manipuler le terrain, les deux snakes et les bonus
 */

typedef struct
{
	Terrain terrain;
	Snake snake1, snake2;
	Bonus bonus;
	int score2;
	float score1;
	int afficherTerrain;
} Jeu;


void jeuInit(Jeu *);
/*fonction qui initialise le terrain et les deux snakes sur ce terrain*/

void jeuLibere(Jeu *);
/*fonction faisant appel à TerrainLibere, pour libérer l'espace occupé par le jeu*/

const Terrain *jeuGetConstTerrainPtr(const Jeu *);
/*retourne un pointeur sur le terrain*/

const Snake *jeuGetConstSnake1Ptr(const Jeu *);
/*retourne un pointeur sur le premier snake*/

const Snake *jeuGetConstSnake2Ptr(const Jeu *);
/*retourne un pointeur sur le premier snake*/

void jeuActionClavier(Jeu *j, const char);
/*fonction pour savoir quoi faire en fonction de la touche rentrée par l'utilisateur*/

Bonus * jeuGetConstBonusPtr(Jeu *);
/*retourne un pointeur sur un bonus*/

void jeuEvolue(Jeu *pJeu);
/*fonction qui fait évoluer le jeu, déplacement automatique du serpent*/

#endif
